|
(******************************************************************************)
(**) ОТДЕЛ МатрВВ;
(******************************************************************************
* НАЗНАЧЕНИЕ: ввод из файла и вывод на экран Матриц и Векторов
******************************************************************************)
ИСПОЛЬЗУЕТ
Матем,
Вект,
Матр,
Компл,
КомплВект,
КомплМатр,
Читать ИЗ "..\Обмен\",
Вывод ИЗ "..\Обмен\";
(******************************************************************************)
ЗАДАЧА ОткрытьПоток-(имяФайла-:ЦЕПЬ):Читать.Поток;
(* Цель: если возможно, то открыть поток на чтение, иначе АВОСТ
******************************************************************************
* До: <имяФайла> - имя считываемого файла
* Ответ: открытый на чтение поток *)
ПЕР
п:Читать.Поток;
УКАЗ
п:=Читать.Открыть(имяФайла);
ЕСЛИ п = ПУСТО ТО
Вывод.Цепь('^Файл "');
Вывод.Цепь(имяФайла);
Вывод.Цепь('" не найден.^');
СТОП(1)
КОН;
п.видЗнаков:=Читать.знУни;
ВОЗВРАТ п
КОН ОткрытьПоток;
(******************************************************************************)
ЗАДАЧА ЧитатьМатр-(п:Читать.Поток):Матр.Доступ;
(* Цель: прочитать из потока размер матрицы (строк, столбцов)
* создать матрицу и заполнить ее данными из этого потока
******************************************************************************
* До: <п> - открытый на чтение поток
* Ответ: созданная матрица *)
ПЕР
i,j,строк,столбцов:ЦЕЛ;
М:Матр.Доступ;
УКАЗ
строк:=Читать.Цел(п);
столбцов:=Читать.Цел(п);
СОЗДАТЬ(М,строк,столбцов);
ОТ i:=0 ДО строк-1 ВЫП
ОТ j:=0 ДО столбцов-1 ВЫП
М[i,j]:=Читать.ШирВещ(п)
КОН
КОН;
ВОЗВРАТ М
КОН ЧитатьМатр;
(******************************************************************************)
ЗАДАЧА ЧитатьКомплМатр-(п:Читать.Поток):КомплМатр.Доступ;
(* Цель: прочитать из потока размер матрицы (строк, столбцов)
* создать матрицу и заполнить ее данными из этого потока
******************************************************************************
* До: <п> - открытый на чтение поток
* Ответ: созданная матрица *)
ПЕР
i,j,строк,столбцов:ЦЕЛ;
x,y:Матем.Вещ;
М:КомплМатр.Доступ;
УКАЗ
строк:=Читать.Цел(п);
столбцов:=Читать.Цел(п);
СОЗДАТЬ(М,строк,столбцов);
ОТ i:=0 ДО строк-1 ВЫП
ОТ j:=0 ДО столбцов-1 ВЫП
x:=Читать.ШирВещ(п);
y:=Читать.ШирВещ(п);
Компл.алгВид(x,y,М[i,j])
КОН
КОН;
ВОЗВРАТ М
КОН ЧитатьКомплМатр;
(******************************************************************************)
ЗАДАЧА ВыводМатр-(описание-:ЦЕПЬ; М-:Матр.Вид);
(* Цель: вывести на экран содержимое матрицы <М>
******************************************************************************
* До: <описание> - описатель представления элемента матрицы (см. Текст.отд)
* <М> - прямоугольная матрица *)
ПЕР
i,j:ЦЕЛ;
УКАЗ
ОТ i:=0 ДО РАЗМЕР(М,0)-1 ВЫП
ОТ j:=0 ДО РАЗМЕР(М,1)-1 ВЫП
Вывод.ЧВещ(описание,М[i,j],0,0,0)
КОН;
Вывод.Цепь('^')
КОН
КОН ВыводМатр;
(******************************************************************************)
ЗАДАЧА ВыводКомплМатр-(описание-:ЦЕПЬ; М-:КомплМатр.Вид);
(* Цель: вывести на экран содержимое матрицы <М>
******************************************************************************
* До: <описание> - описатель представления элемента матрицы (см. Текст.отд)
* <М> - прямоугольная матрица *)
ПЕР
i,j:ЦЕЛ;
УКАЗ
ОТ i:=0 ДО РАЗМЕР(М,0)-1 ВЫП
ОТ j:=0 ДО РАЗМЕР(М,1)-1 ВЫП
Вывод.ЧВещ(описание,М[i,j].x,М[i,j].y,0,0)
КОН;
Вывод.Цепь('^')
КОН
КОН ВыводКомплМатр;
(******************************************************************************)
ЗАДАЧА ВыводВект-(описание-:ЦЕПЬ; в-:Вект.Вид);
(* Цель: вывести на экран содержимое вектора <в>
******************************************************************************
* До: <описание> - описатель представления элемента матрицы (см. Текст.отд)
* <в> - исходный вектор *)
ПЕР
i:ЦЕЛ;
УКАЗ
ОТ i:=0 ДО РАЗМЕР(в)-1 ВЫП
Вывод.ЧВещ(описание,в[i],0,0,0)
КОН;
Вывод.Цепь('^') (* переход на новую строку при выводе на экран *)
КОН ВыводВект;
(******************************************************************************)
ЗАДАЧА ВыводКомплВект-(описание-:ЦЕПЬ; в-:КомплВект.Вид);
(* Цель: вывести на экран содержимое вектора <в>
******************************************************************************
* До: <описание> - описатель представления элемента матрицы (см. Текст.отд)
* <в> - исходный вектор *)
ПЕР
i:ЦЕЛ;
УКАЗ
ОТ i:=0 ДО РАЗМЕР(в)-1 ВЫП
Вывод.ЧВещ(описание,в[i].x,в[i].y,0,0)
КОН;
Вывод.Цепь('^') (* переход на новую строку при выводе на экран *)
КОН ВыводКомплВект;
КОН МатрВВ.
|
|